package com.example.myapplicationktkt2

import android.app.Application
import android.widget.Toast
import androidx.lifecycle.ProcessLifecycleOwner
import com.example.myapplicationktkt2.log.Logger
import com.example.myapplicationktkt2.utils.EmulatorDetector
import com.example.myapplicationktkt2.notification.AppLifecycleObserver

class MyApplication : Application() {
/**
 *
 *
 *
 * 虽然无法完全防止反编译，但通过以上措施可以大大提高破解难度：
 * 启用代码混淆 - 最基本且必要的防护
 * 资源混淆 - 保护资源文件不被轻易获取
 * 核心逻辑移至Native层 - 使用NDK保护关键代码
 * 字符串加密 - 隐藏敏感信息
 * 第三方加固服务 - 专业级保护方案
 * 运行时检测 - 检测调试和篡改行为
 *
 *
 * Override the onCreate method of the Application class
 * This method is called when the application is starting, before any other application objects have been created.
 */
    override fun onCreate() {
        super.onCreate()  // Call the superclass's onCreate method
        // 初始化日志系统
        Logger.init(this)
        
        // 检测是否在模拟器上运行
        if (EmulatorDetector.isEmulator()) {
            // 在模拟器上运行，可以选择拒绝执行或显示警告
            // 这里我们显示一个Toast提示，实际项目中可以退出应用或限制功能
            Thread {
                try {
                    Thread.sleep(2000) // 等待应用初始化完成
                    android.os.Handler(android.os.Looper.getMainLooper()).post {
                        Toast.makeText(this, "检测到应用在模拟器上运行，可能存在安全风险", Toast.LENGTH_LONG).show()
                    }
                } catch (e: InterruptedException) {
                    e.printStackTrace()
                }
            }.start()
        }
        
        // 监听应用前后台
        ProcessLifecycleOwner.get().lifecycle.addObserver(AppLifecycleObserver(this))
    }


}